home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Color;
- import java.awt.MediaTracker;
-
- public class c02 implements Runnable {
- // $FF: renamed from: Cc int
- public int field_0;
- // $FF: renamed from: FO int
- protected int field_1;
- // $FF: renamed from: EF int
- protected int field_2;
- // $FF: renamed from: ET int[]
- protected static int[] field_3;
- // $FF: renamed from: BN byte
- protected byte field_4;
- // $FF: renamed from: Ft int
- protected int field_5;
- // $FF: renamed from: Id int
- protected int field_6;
- // $FF: renamed from: Ct int
- protected int field_7;
- // $FF: renamed from: Jp java.awt.MediaTracker
- public MediaTracker field_8;
- // $FF: renamed from: FC c03
- protected c03 field_9;
-
- public void setDimensions(int var1, int var2) {
- this.field_1 = var1;
- this.field_2 = var2;
- }
-
- public c02(MediaTracker var1, c03 var2) {
- this.field_8 = var1;
- this.field_9 = var2;
- this.field_9.Hs();
- }
-
- public void run() {
- try {
- this.field_8.waitForAll();
- } catch (Exception var2) {
- System.out.println(((Throwable)var2).toString());
- }
- }
-
- public final int filterRGB(int var1, int var2, int var3) {
- if (this.field_0 == 0) {
- return 0;
- } else {
- switch (this.field_4) {
- case 1:
- int var11 = var3 & 16711680;
- int var15 = ((var11 - this.field_5) * this.field_0 >> 8) + this.field_5;
- int var16 = var3 & '\uff00';
- int var7 = ((var16 - this.field_6) * this.field_0 >> 8) + this.field_6;
- int var8 = var3 & 255;
- int var9 = ((var8 - this.field_7) * this.field_0 >> 8) + this.field_7;
- return var3 & -16777216 | var15 & 16711680 | var7 & '\uff00' | var9;
- case 2:
- int var10 = var2 * 16 / this.field_2;
- int var12 = var1 * 16 / this.field_1 + var10 * 16;
- int[] var6 = new int[]{1, -5, 67, 34, -756, 57, 99, -123};
- var12 = var6[var10 / 2] * var12 + var6[var10 / 2];
- if (var12 < 0) {
- var12 *= -1;
- }
-
- var12 %= 32;
- if ((field_3[this.field_0 * 32 / 256] & 1 << var12) != 0) {
- return var3;
- }
-
- return var3 & 16777215;
- case 3:
- return var3 & 16777215 | this.field_0 << 24 & -16777216;
- case 4:
- int var4 = this.field_0 * this.field_1 / 256 * this.field_0 * this.field_1 / 256 / 4;
- int var5 = this.field_0 * this.field_2 / 256 * this.field_0 * this.field_2 / 256 / 4;
- if ((var1 - this.field_1 / 2) * (var1 - this.field_1 / 2) + (var2 - this.field_2 / 2) * (var2 - this.field_2 / 2) > var4 + var5) {
- return var3 & 16777215;
- }
-
- return var3;
- case 5:
- if (var2 % (this.field_0 / 4) == 0) {
- return var3 & 16777215;
- }
-
- return var3;
- default:
- return var3;
- }
- }
- }
-
- public c02(int var1, Color var2, byte var3) {
- this.field_0 = var1;
- this.field_4 = var3;
- this.field_5 = var2.getRGB() & 16711680;
- this.field_6 = var2.getRGB() & '\uff00';
- this.field_7 = var2.getRGB() & 255;
- if (field_3 == null && this.field_4 == 2) {
- int[] var4 = new int[]{6, 30, 8, 18, 7, 28, 15, 31, 4, 27, 20, 24, 1, 16, 22, 2, 23, 5, 17, 0, 11, 25, 9, 14, 10, 12, 13, 26, 21, 3, 29, 19};
- field_3 = new int[32];
- int var5 = 0;
-
- for(int var6 = 0; var6 < 32; ++var6) {
- var5 |= 1 << var4[var6];
- field_3[var6] = var5;
- }
- }
-
- }
- }
-